export default {
  inserted (el, binding, vnode) {
    // 禁用
    if (binding.arg) {
      return;
    }
    // binding.value为指令的绑定值,逗号分割字符串或数组
    let perVal = binding.value;
    if (!perVal) {
      return;
    }
    if (!Array.isArray(perVal)) {
      // 非数组类型（逗号分割字符串），转成数组
      perVal = perVal.split(',');
    }
    if (perVal && perVal.length > 0) {
      let perms = vnode.context.$route.meta.perms;
      if (!perms) {
        // 页面直接刷新，拿不到路由meta值
        setTimeout(function () {
          perms = vnode.context.$route.meta.perms;
          // console.log('判断按钮权限：inserted：延时', perms);
          let hasPer = perms.some(item => {
            // return item == perVal
            return perVal.some(per => per === item);
          });
          if (!hasPer) {
            el.parentNode.removeChild(el);
          }
        }, 250);
      } else {
        // console.log('判断按钮权限：inserted', perms);
        // hasPer为true为有权限
        // hasPer为false为无权限
        let hasPer = perms.some(item => {
          // return item == perVal
          return perVal.some(per => per === item);
        });
        // 没有权限隐藏/删除此元素
        if (!hasPer) {
          // el.style.display="none"
          el.parentNode.removeChild(el);
        }
      }
    }
  }
};
